NAND flash memory, as well as other types of non-volatile memories (“NVMs”), are commonly used for mass storage. For example, consumer electronics such as portable media players often include flash memory to store music, videos, and other media.
A system may often dispatch multiple small commands (e.g., program, erase, and/or read commands) to access the NVM. Each command dispatch can be associated with various communication latencies. Moreover, each command dispatch can also block other commands for being acted upon. Thus, the total amount of time for dispatching commands can become significant, which can consequently increase the total power consumption of the system and decrease input/output (“I/O”) performance.